Programs from Proofs - Approach and Applications

نویسندگان

  • Daniel Wonisch
  • Alexander Schremmer
  • Heike Wehrheim
چکیده

Proof-carrying code approaches aim at the safe execution of untrusted code by having the code producer attach a safety proof to the code which the code consumer only has to validate. Depending on the type of safety property, proofs can however become quite large and their validation though faster than their construction still time consuming. Programs from Proofs is a new concept for the safe execution of untrusted code. It keeps the idea of putting the time consuming part of proving on the side of the code producer, however, attaches no proofs to code anymore but instead uses the proof to transform the program into an equivalent but more efficiently verifiable program. Code consumers thus still do proving themselves, however, on a computationally inexpensive level only. In case that the initial proving effort does not yield a conclusive result (e.g., due to a timeout), the very same technique of program transformation can be used to obtain a zero overhead runtime monitoring technique.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Proofs, programs and executable specifications in higher order logic

This thesis presents several extensions to the generic theorem prover Isabelle, a logical framework based on higher order logic. The central contribution of this thesis is the extension of Isabelle with a calculus of primitive proof terms, in which proofs are represented using λ-terms in the spirit of the Curry-Howard isomorphism. Primitive proof terms allow for an independent verification of p...

متن کامل

Proving Properties of Rich Internet Applications

We introduce application layer specifications, which allow us to reason about the state and transactions of rich Internet applications. We define variants of the state/event based logic UCTL* along with two example applications to demonstrate this approach, and then look at a distributed, rich Internet application, proving properties about the information it stores and disseminates. Our approac...

متن کامل

General Techniques for Automatic Program Optimization and Synthesis Through Theorem Provingl

We report on program optimization research within the proofs as programs paradigm. Firstly, we describe program optimization by the transformation of program synthesis proofs (i.e. constructive existence proofs). Synthesis proofs which yield inefficient programs are transformed into analogous proofs which yield more efficient programs. The key to program optimization lies in the transformation ...

متن کامل

Certificates and Separation Logic

Modular and local reasoning about object-oriented programs has been widely studied for programing languages such as C# and Java. Once source programs have been proven, the next verification challenge is to ensure that the code produced by the compiler is correct. Since verifying a compiler can be extremely complex, this paper uses proof-transforming compilation, an alternative approach which au...

متن کامل

What Is the Difference Between Proofs and Programs?

Curry and and Howardobserved that ordinary propositional logic can also be viewed as a functional (programming) language. Thus programs are contained, in a certain sense, in proofs in mathematical logic. The underlying reason (in the present author’s view) is because of the formal, that is to say, purely syntactic, similarities between logical rules and those of the lambda calculus. This has le...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014